;:sys36864 ;.opt oo *= 50000 such =52000 make =52100 memo =52200 s =2 t1 =4 t2 =181 e =254 reple =247 ymm =248 ym2 =249 lens =250 lenm =251 flag =252 flag2 =253 jmp how jmp defs jmp defr jmp find lda #tok jsr $ab1e lda tof eor #-1 sta tof bne an lda #"u" jsr $ffd2 lda #"s" .byt $2c an lda #"n" jsr $ffd2 jmp $aad7 txt .byt 13 .byte "find & replace c64 (c) nh-080790-arr" .byt 13 .byte "version 2 12.90" .byt 13,13 .byte " sys 50003,suchbegriff" .byt 13 .byte " sys 50006,ersatzbegriff" .byt 13 .byte " sys 50009: suchen ohne ersetzen" .byt 13 .byte " sys 50012: tokenwandlung ein/aus" .byt 13,0 errt .byte "preparatioN" lint .byt 13 .byte "in line " brk okt .byte " found" .byt 13,0 tok .byte "tokenwandlung a" brk lae brk tof .byt -1 yme brk diff brk how lda #txt jmp $ab1e defs jsr $aefd ldx #0 suchs jsr cat beq overs sta such,x inx jsr cet bne suchs overs sta such,x txa beq err stx lens inx stx flag lda tof bne good lda #such jsr convert ldy lae dey sty lens good rts defr lda #0 cmp flag bne cont err lda #errt jmp $a445 cont sta flag sta reple jsr $aefd jsr $aad7 ldx #0 suchm jsr cat beq overm sta make,x inx jsr cet bne suchm overm sta make,x stx lenm lda tof bne begin lda #make jsr convert ldy lae dey sty lenm jmp begin find lda flag beq err sta reple begin lda 43 sta s lda 44 sta s+1 zeile lda #0 sta flag2 lda #"\x91" jsr $ffd2 ldy #1 lda (s),y bne weiter jsr 42291 clc lda 34 adc #2 sta 45 sta 47 sta 49 lda 35 adc #0 sta 46 sta 48 sta 50 jsr $a81d ldx #$19 stx $16 jsr $a687 ldx 214 inx jsr 59903 jmp 57741 weiter lda #lint jsr $ab1e ldy #2 lda (s),y tax iny lda (s),y jsr $bdcd ldy #4 se1 lda (s),y beq se5 sty yme ldx #0 se2 lda such,x beq se3 cmp (s),y bne se4 inx iny bne se2 se4 ldy yme se4a iny bne se1 se5 iny tya clc adc s sta s bcc se6 inc s+1 se6 jmp zeile se3 lda #0 cmp reple bne re2 sta diff lda lens cmp lenm beq se7 bcc se8 jsr delete jmp se7 se8 jsr insert se7 ldx #0 ldy yme repl lda make,x beq re2 sta (s),y iny inx bne repl re2 lda flag2 bne re2a lda #okt jsr $ab1e inc flag2 re2a lda yme clc adc diff tay bne se4a cet inc $7a bne la1 inc $7b la1 rts cat ldy #0 lda ($7a),y rts insert lda lenm sec sbc lens sta diff pha lda yme clc adc s sta e lda s+1 adc #0 sta e+1 ldx 45 stx t1 ldx 46 stx t1+1 pla clc adc 45 sta 45 sta t2 lda 46 adc #0 sta 46 sta t2+1 ldy #0 icopy lda e+1 cmp t1+1 bcc i1 lda e cmp t1 bcc i1 rts i1 lda (t1),y sta (t2),y lda t1 bne i2 dec t1+1 i2 dec t1 lda t2 bne i3 dec t2+1 i3 dec t2 jmp icopy delete lda lens sec sbc lenm sta diff pha dec diff lda yme clc adc s sta t1 lda s+1 adc #0 sta t1+1 pla clc adc t1 sta t2 lda t1+1 adc #0 sta t2+1 ldy #0 dcopy lda t2+1 cmp 46 bcc d1 lda t2 cmp 45 bcc d1 lda t1 sta 45 lda t1+1 sta 46 rts d1 lda (t2),y sta (t1),y inc t1 bne d2 inc t1+1 d2 inc t2 bne d3 inc t2+1 d3 bne dcopy convert sta s sty s+1 ldy #-1 tr1 iny lda (s),y sta memo,y bne tr1 ldy #0 sty $f sty lae lp1 lda memo,y beq rein bpl so cmp #-1 beq so bit $f bmi so sec sbc #$7f tax sty ym2 ldy #-1 a72c dex beq a737 a72f iny lda $a09e,y bpl a72f bmi a72c a737 iny lda $a09e,y bmi end jsr rein jmp a737 so cmp #34 bne so2 lda $f eor #-1 sta $f lda #34 so2 jsr rein jmp so5 end and #127 jsr rein ldy ym2 so5 iny bne lp1 rein sty ymm ldy #0 sta (s),y inc s bne r2 inc s+1 r2 inc lae ldy ymm rts